class Solution {
    /*
        实例：如【1,2,2,3,3】
        我们让cur为下标0的位置，然后对于tmp（index=1），我们向后遍历直到的tmp的值不同
        为止，然后根据堆地址判断是否有重复即可
    */  
    public ListNode deleteDuplicates(ListNode head) {
        ListNode cur = new ListNode(-1,head);
        ListNode copy = cur;
        while( cur!=null && cur.next!=null ){
            ListNode tmp = cur.next;
            // 直到tmp.val != cur.next.val
            while( tmp.next!=null && tmp.next.val==cur.next.val ){
                tmp = tmp.next;
            }
            // 判断是否有重复
            if( tmp==cur.next ){
                cur = tmp;
            }else{
                cur.next = tmp.next;
            }
        }
        return copy.next;
    }
}